package net.maku.express.biza.controller.collectExpress.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@Schema(description = "揽件入库分页数据")
public class CollectExpressPageVO implements Serializable {


    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 收据单号
     */
    @Schema(description = "收据单号")
    private String collectNo;

    /**
     * 订单号
     */
    @Schema(description = "订单号")
    private String ordersNo;

    /**
     * 快递单号
     */
    @Schema(description = "快递单号")
    private String expressNo;

    /**
     * 打包状态:1.未打包,2:已打包;3:部分打包
     */
    @Schema(description = "打包状态:1.未打包,2:已打包;3:部分打包")
    private Integer collectState;

    /**
     * 业务类型（运输类型）
     */
    @Schema(description = "业务类型")
    private String businessState;

    /**
     * 发货人
     */
    @Schema(description = "发货人")
    private String sendor;

    /**
     * 收货人
     */
    @Schema(description = "收货人")
    private String collector;

    /**
     * 收货件数
     */
    @Schema(description = "收货件数")
    private Integer collectNum;

    /**
     * 重量
     */
    @Schema(description = "重量")
    private Double weight;

    /**
     * 计费重量
     */
    @Schema(description = "计费重量")
    private Double chargedWeight;

    /**
     * 客户
     */
    @Schema(description = "客户")
    private String custom;

    /**
     * 客服
     */
    @Schema(description = "客服")
    private String business;

    /**
     * 业务员
     */
    @Schema(description = "业务员")
    private String sales;

    /*计费重类型:1:重量,2:万方kg*/
    @Schema(description = "计费重类型:1:重量,2:万方kg")
    private Integer chargeState;

    /**
     * 收货日期
     */
    @Schema(description = "收货日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date collectTime;

    /**
     * 操作人
     */
    @Schema(description = "操作人")
    private Long operateId;


    /**
     * 散件和包id
     */
    @Schema(description = "散件和包id")
    private Integer packageCollectId;

    /**
     * 货物状态
     */
    @Schema(description = "货物状态:0:未收货,1:已收货,2:已装箱,3:档口已出仓,4:海外已入仓")
    private Integer goodsState;


    /**
     * 出货状态
     */
    @Schema(description = "出货状态")
    private Integer shState;

    /**
     * 发货人电话
     */
    @Schema(description = "发货人电话")
    private String sendorPhone;

    /**
     * 收货人电话
     */
    @Schema(description = "收货人电话")
    private String collectorPhone;

    /**
     * 件状态:0正常件,1:问题件
     */
    @Schema(description = "件状态:0正常件,1:问题件")
    private Integer questionState;

    /**
     * 付款方式:1:PP,2:CC,3:半月结,4:月结
     */
    @Schema(description = "付款方式:1:PP,2:CC,3:半月结,4:月结")
    private Integer payState;

    /**
     * 到货方式：1:快递派送,2:客户自送
     */
    @Schema(description = "到货方式：1:快递派送,2:客户自送")
    private Integer arrivalState;

    /**
     * 地址
     */
    @Schema(description = "发货人地址")
    private String sendAddress;


    /**
     * 实际件数
     */
    @Schema(description = "实际件数")
    private Integer collectTrueNum;

    /**
     * 货物类型:1:普货,2:敏感货,3:单证普货,4:单证敏感货
     */
    @Schema(description = "货物类型:1:普货,2:敏感货,3:单证普货,4:单证敏感货")
    private Integer collectType;


    @Schema(description = "pcs")
    private String pcs;

    /**
     * 体积
     */
    @Schema(description = "体积")
    private Double tiji;

    /**
     * 体积重
     */
    @Schema(description = "体积重")
    private Double tijiWeight;

    /**
     * 收货人地址
     */
    @TableField(value = "收货人地址")
    private String collectAddress;

    @Schema(description = "条形码路径")
    private String barAnnex;

    /**
     * 始发地国家    2024.07.13
     */
    @Schema(description = "始发地国家")
    protected String originCountry;

    /**
     * 目的地国家    2024.07.13
     */
    @Schema(description = "目的地国家")
    protected String destinationCountry;

}
